<?php

/**
 *
 * Библиотека помощи. Экстренной.
 *
 */
class Lib_help
{

	public function __construct()
	{
		session_start();
		$CI = &get_instance();
		$CI->load->helper('cookie');
	}

	//проверяет, есть ли юзер в сессии
	//если да - обновляет куки
	//если нету - проверяет куки и если в куках все тип топ, то заносит юзера в сессию
	//возвращаемое значение: boolean - является ли пользователь авторизованным после завершения функции
	function check_auth()
	{
		if (isset($_SESSION['user_id'])) //если юзер в сессии
		{
			//то нечего париться, валим отсюда
			return true;
		}
		else //надо проверить куки
		{
			//если есть куки - пробуем войти через них
			$email = get_cookie('microlance_email');
			if ($email != false)
			{
				$pass = get_cookie('microlance_pass');
				if ($pass != false)
				{
					//пытаемся залогиниться
					$CI = &get_instance();
					$CI->load->Model('Users_model', '', TRUE);
					if ($CI->Users_model->login($email, $pass)) //если логин прошел успешно
					{
						//обновляем куки
						//удаляем старые куки
						$this->removeCookies();
						// устанавливаем новые
						$this->createCookies($email, $pass);

						return true;
					}
				}
			}
		}
		return false;
	}

	//создает куки на 1 неделю
	function createCookies($email, $pass)
	{
		date_default_timezone_set('UTC');

		$cookie = array(
			'name' => 'microlance_email',
			'value' => $email,
			'expire' => '604800'
		);
		set_cookie($cookie);
		$cookie = array(
			'name' => 'microlance_pass',
			'value' => $pass,
			'expire' => '604800'
		);
		set_cookie($cookie);
	}

	//удаляет куки, если они созданы :(
	function removeCookies()
	{
		//удалим печеньки
		$email = get_cookie('microlance_email');
		if ($email != false)
		{
			delete_cookie("microlance_email");
			$pass = get_cookie('microlance_pass');
			if ($pass != false)
				delete_cookie("microlance_pass");
		}
	}

	function post($name)
	{
		$CI = &get_instance();
		$str = $CI->input->post($name);
		if(!is_array($str))
			$str = htmlspecialchars($str, ENT_QUOTES);
		return $str;
	}
	
	
	function getAvatar($provider)
	{
		$image = '';
		
		if($provider == 'http://vkontakte.ru/')
		{
			require 'thirdparty/vkapi.class.php';

			$api_id = 2460857; // application id
			$secret_key = 'Mjv4v6vqw4HYzW9al1sm'; // secret key

			$VK = new vkapi($api_id, $secret_key);

			$resp = $VK->api('getProfiles', array('uids'=>'11049356', 
												'fields' => 'photo'));
			
			$image = $resp['response'][0]['photo'];
		}
		
		//загружаем изображение
		if($img = file_get_contents($image))
		{
			$image_name = md5($image).'.jpg';
			
			if($f = fopen('http://microlance.ru/images/uploaded/avatars/'.$image_name, 'w'))
			{
				if (fwrite($f, $img) !== FALSE)
				{
					//die('1');
					fclose($f);
				
					//изменяем размер изображения
					$config['image_library'] = 'gd2';
					$config['source_image']	= '/images/uploaded/avatars/'.$image_name;
					$config['maintain_ratio'] = TRUE;
					$config['width'] = 40;
					$config['height']= 40;

					$CI = &get_instance();
					$CI->load->library('image_lib', $config); 

					$CI->image_lib->resize();
					
					return $image_name;
				} 
			} 
		}
		
		return 'default_avatar.png';
	}
}